home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / src / demos / GL / newton / slider.h < prev    next >
Text File  |  1994-08-01  |  4KB  |  158 lines

  1. /*
  2.  * Copyright 1991, 1992, 1993, 1994, Silicon Graphics, Inc.
  3.  * All Rights Reserved.
  4.  *
  5.  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  6.  * the contents of this file may not be disclosed to third parties, copied or
  7.  * duplicated in any form, in whole or in part, without the prior written
  8.  * permission of Silicon Graphics, Inc.
  9.  *
  10.  * RESTRICTED RIGHTS LEGEND:
  11.  * Use, duplication or disclosure by the Government is subject to restrictions
  12.  * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  13.  * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  14.  * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  15.  * rights reserved under the Copyright Laws of the United States.
  16.  */
  17. /*
  18.  * interface to slider.c
  19.  * Yossi Friedman, July 1988
  20.  */
  21.  
  22.  
  23.  
  24. /*
  25.  * NAME
  26.  *      define_slider - set slider attributes
  27.  *
  28.  * SYNOPSIS
  29.  *      define_slider(progname, title, lo, hi, dflt, fun)
  30.  *      char *progname, *title;
  31.  *      float lo, hi, dflt;
  32.  *      void (*fun)();
  33.  *
  34.  * DESCRIPTION
  35.  *      Before using any slider, it has to be defined using define_slider.
  36.  *      define_slider only does some bookkeeping.  It does not open any
  37.  *      windows, and should be called only once per slider (as an act of
  38.  *      initialization).
  39.  *
  40.  *      The parameters are:
  41.  *        - prog_name: the name of the mother application;
  42.  *        - title: the name of the slider;
  43.  *        - lo, hi, dflt: the lowest, highest, and default values of the
  44.  *          slider;
  45.  *        - fun: a function to call when the slider value changes.  It gets
  46.  *          called with the new slider value as an argument.
  47.  *
  48.  *      Define_slider immediately calls fun with the default value.
  49.  *      Define_slider returns a slider id, which should be used in all
  50.  *      future references to the slider.  A slider id is a small
  51.  *      nonnegative integer.
  52.  */
  53. int define_slider(char *, char *, float, float, float, void (*)(float));
  54.  
  55.  
  56. /*
  57.  * NAME
  58.  *      open_slider - open a window for a specified slider
  59.  *
  60.  * SYNOPSIS
  61.  *      long open_slider(sid)
  62.  *      int sid;
  63.  *
  64.  * DESCRIPTION
  65.  *      open_slider opens a window for the slider whose slider id is the
  66.  *      parameter, and returns the window id of the slider's window.  if
  67.  *      the slider already has a window, open_slider simply pops it up
  68.  *      rather than actually opening it.
  69.  */
  70. long open_slider(int);
  71.  
  72.  
  73. /*
  74.  * NAME
  75.  *      close_dlier - close the window associated with a given slider
  76.  *
  77.  * SYNOPSIS
  78.  *      close_slider(sid)
  79.  *      int sid;
  80.  *
  81.  * DESCRIPTION
  82.  *      close_slider closes slider sid's window, if it had one.
  83.  */
  84. int close_slider(int);
  85.  
  86.  
  87.  
  88. /*
  89.  * NAME
  90.  *      set_slider_default - override sider parameters
  91.  *
  92.  * SYNOPSIS
  93.  *      set_slider_default(sid, val)
  94.  *      int sid;
  95.  *      float val;
  96.  *
  97.  * DESCRIPTION
  98.  *      set_slider_default sets val as the new default value for slider
  99.  *      sid.
  100.  */
  101. int set_slider_default(int, float);
  102.  
  103.  
  104.  
  105. /*
  106.  * NAME
  107.  *      set_slider - force new slider value
  108.  *
  109.  * SYNOPSIS
  110.  *      set_slider(sid, val)
  111.  *      int sid;
  112.  *      float val;
  113.  *
  114.  * DESCRIPTION
  115.  *      set_slider focres a specific slider value val for slider sid.  In
  116.  *      addition to changing the displayed value, set_slider also calls
  117.  *      the `fun' with the new value.
  118.  */
  119. int set_slider(int, float);
  120.  
  121.  
  122.  
  123. /*
  124.  * NAME
  125.  *      slider_event - handle events in the slider window
  126.  *
  127.  * SYNOPSIS
  128.  *      slider_event(sid, dev, val)
  129.  *      int sid;
  130.  *      short dev, val;
  131.  *
  132.  * DESCRIPTION
  133.  *      slider_event should be called by the event handler of the mother
  134.  *      application whenever an event happens inside the slider window
  135.  *      of slider sid.  dev and val are the values returned from qread.
  136.  *
  137.  *      The return value is 1 if the slider window is still open after
  138.  *      the event, and 0 if the event caused the slider window to be closed.
  139.  */
  140. int slider_event(int, short, short);
  141.  
  142.  
  143.  
  144. /*
  145.  * NAME
  146.  *      do_slider - change slider state for the next frame
  147.  *
  148.  * SYNOPSIS
  149.  *      do_slider(sid)
  150.  *      int sid;
  151.  *
  152.  * DESCRIPTION
  153.  *      The mother application should call do_slider if the current window
  154.  *      is the window of slider sid.  This should be done from inside the
  155.  *      main loop of the application, right after the event handler.
  156.  */
  157. void do_slider(int);
  158.